package cn.iocoder.an.module.mold.controller.admin.linestopregistration.vo;

import cn.idev.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 停线登记新增/修改 Request VO")
@Data
public class LinestopRegistrationSaveReqVO {

    @Schema(description = "类型id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8355")
    private Long id;

    @Schema(description = "日期")
    private LocalDate registrationDate;

    @Schema(description = "车间名", example = "李四")
    private String workshopName;

    @Schema(description = "提出人")
    private String proposer;

    @Schema(description = "停线类型")
    @NotNull(message = "停线类型不能为空")
    private String category;

    @Schema(description = "停线问题")
    private String question;

    @Schema(description = "停线原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不喜欢")
    @NotEmpty(message = "停线原因不能为空")
    private String reason;

    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "开始时间不能为空")
    private LocalDateTime startTime;

    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime endTime;

    @Schema(description = "持续时间(分钟)", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double duration;

    @Schema(description = "责任人部门", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "责任人部门不能为空")
    private String responsibleDepartment;

    @Schema(description = "责任人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "661")
    @NotEmpty(message = "维修人不能为空")
    private List<Long> respersonids;

    @Schema(description = "责任人名称", example = "李四")
    private String respersons;

    @Schema(description = "影响人数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double numberOfAffected;

    @Schema(description = "提交状态")
    @ExcelProperty("提交状态")
    private int submitIf;

}